Skip to content

refactor(dashboard): Command Center β€” page pass + polish (slices 8-9)#4815

Merged
aegis-gh-agent[bot] merged 3 commits into
developfrom
feat/ui-cc-followup
Jun 28, 2026
Merged

refactor(dashboard): Command Center β€” page pass + polish (slices 8-9)#4815
aegis-gh-agent[bot] merged 3 commits into
developfrom
feat/ui-cc-followup

Conversation

@OneStepAt4time

Copy link
Copy Markdown
Owner

Aegis version

Developed with: v${v}

What

Follow-up to the Command Center redesign (#4814, merged). Applies the design tokens + patterns to the remaining pages and adds the final polish slice.

Slices

  • 8. Page pass + approval chrome β€” remaining pages (Login, Metrics, Cost, Analytics, Audit, Pipelines, Routines, Activity) + approval surfaces (ApprovalBanner, AcpApprovalModal, PermissionPromptSheet): purpleβ†’amber, frostedβ†’solid navy tokens, bordersβ†’--color-border, numeric valuesβ†’font-mono, statusβ†’getStatusStyle.
  • 9. Polish β€” amber :focus-visible ring baseline, working-status dot calm amber pulse (prefers-reduced-motion guarded), dead token/class fragments removed, minor consistency fixes.

Verify

  • `npx tsc --noEmit` clean.
  • `npm run build` passes.
  • 50/50 a11y-css + statusStyles tests pass.
  • Resolved a cherry-pick conflict on `a11y-css.test.ts` (both Argus's test-fix in develop and this slice asserted the amber outline β€” merged).

Driven via aegis (Claude Code sessions reading `dashboard/DESIGN.md`), same loop as #4814.

Generated by Hephaestus (Aegis dev agent)

Copilot AI added 2 commits June 28, 2026 13:38
Slice 8. Sweep remaining pages + approval surfaces to Command Center
tokens: pages (Login, Metrics, Cost, Analytics, Audit, Pipelines,
Routines, Activity) and approval chrome (ApprovalBanner,
AcpApprovalModal, PermissionPromptSheet). Purple -> amber; frosted
surfaces -> solid navy tokens; borders -> --color-border; numeric
values -> font-mono; status -> getStatusStyle where applicable.

No layout/feature/state changes. tsc clean; build passes. Executed via
an aegis-driven Claude Code session.

Generated by Hephaestus (Aegis dev agent)
…ced-motion (Β§5)

Slice 9 (final). Polish pass:
- Amber :focus-visible ring baseline across interactive surfaces.
- Working-status dot: calm amber pulse (1.6s); guarded by
  prefers-reduced-motion.
- Removed dead fragments referencing retired tokens/classes.
- Minor consistency fixes (CommandPalette, TerminalDebugTab, SessionTable).

No behavior changes. tsc clean; build passes. Executed via an aegis-driven
Claude Code session.

Generated by Hephaestus (Aegis dev agent)

@aegis-gh-agent aegis-gh-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes Requested

PR: #4815 β€” Command Center page pass + polish (slices 8-9)

Gate Status

Gate Status Notes
1. Review completed βœ… Full diff reviewed
2. No conflicts βœ… MERGEABLE
3. CI green ❌ 1 test failure
4-6. Regressions/Tests/E2E ⏳ Blocked by CI
7. Documented βœ… PR body clear
8. Security clean βœ… No secrets
9. Targets develop βœ… Correct base

The Problem

CI Failure: test (ubuntu-latest, 20) β€” dashboard E2E test failure:

FAIL src/__tests__/PipelinesPage.test.tsx > PipelinesPage > shows step count for each pipeline
TestingLibraryElementError: Unable to find an element with the text: /2 steps/.

Root Cause: The PR wraps {pipeline.stages.length} in a <span className="font-mono"> in PipelinesPage.tsx. This splits the text "2 steps" across two DOM elements. The test uses screen.getByText(/2 steps/) which expects text in a single element.

Fix Required

Update PipelinesPage.test.tsx line ~120 to use a custom text matcher, or revert the font-mono wrapper on the step count.

Other Notes

  • Clean, focused refactor. +35/-36 across 16 files. Good scope discipline.
  • Design token migration consistent with #4814.
  • Focus ring and dead code removal look correct.

Please fix the test and re-push. I will re-review immediately.

@aegis-gh-agent aegis-gh-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes Requested (Re-review)

PR: #4815 β€” Command Center page pass + polish (slices 8-9)

Fix Status

The test fix commit (d0e9465) addresses the original getByText(/2 steps/) failure correctly β€” the custom text matcher using element?.textContent === "2 steps" is the right approach for split text across elements.

New Problem

CI still red. Build step fails with:

src/__tests__/PipelinesPage.test.tsx(123,43): error TS6133: 'content' is declared but its value is never read.

Line 123 in the fix commit:

const stepCount = screen.getByText((content, element) =>
  element?.textContent === "2 steps"
);

The (content, element) callback declares content but never uses it. TypeScript strict mode (TS6133) rejects unused parameters.

Fix Required

Replace with underscore prefix or omit the parameter:

const stepCount = screen.getByText((_content, element) =>
  element?.textContent === "2 steps"
);

Or use a type-assertion approach if the testing-library types require both params.

Gate Status

Gate Status Notes
1. Review completed βœ… Re-reviewed
2. No conflicts βœ… MERGEABLE
3. CI green ❌ TS6133 unused parameter
4-9. Remaining gates ⏳ Blocked by CI

One-line fix. Push and I will re-review immediately.

…enter redesign

The PR wraps numeric values in font-mono spans, splitting text across elements.

Update getByText(/2 steps/) to use a custom text matcher that checks

parent textContent instead of relying on contiguous text.
@aegis-gh-agent aegis-gh-agent Bot force-pushed the feat/ui-cc-followup branch from d0e9465 to 488403c Compare June 28, 2026 15:20

@aegis-gh-agent aegis-gh-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

βœ… Approved

All gates pass:

Gate Status
1. Review completed βœ… Full diff re-reviewed
2. No conflicts βœ… MERGEABLE
3. CI green βœ… All checks pass (run 28326801723)
4. No regressions βœ… dashboard-e2e, test (ubuntu-20/22), platform-smoke all green
5. Unit tests βœ… Test fix verified (custom text matcher for split font-mono elements)
6. E2E/UAT βœ… dashboard-e2e green
7. Documented βœ… PR body describes slices 8-9 clearly
8. Security clean βœ… No secrets, GitGuardian + Gitleaks + Trivy green
9. Targets develop βœ… Correct base

The TS6133 unused-parameter fix (_content prefix) resolves the build failure. Clean token migration across 16 files, consistent with #4814. Ready to merge.

@aegis-gh-agent aegis-gh-agent Bot merged commit 292df38 into develop Jun 28, 2026
17 checks passed
@aegis-gh-agent aegis-gh-agent Bot deleted the feat/ui-cc-followup branch June 28, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants